#创建对象
#对象的属性和方法

#1.添加和获取是对象的属性
#1)创建类
class Hero(object):        
        def move(self):    #定义一个实例方法
            print('正在前往事发地址……')

#2)创建对象，实例化对象
hero= Hero()

#3)给对象添加属性
hero.name = 'Lucy'   #添加对象的name属性
hero.hp   = 2500     #添加对象的hp属性
print('英雄%s的生命值：%d'%(hero.name,hero.hp))
hero.move()          #调用实例方法
print('\n')




#2.在方法内通过self获取对象属性
class A:
    def test(self):
        print('%s的年龄是%d'%(self.name,self.age))
        #name age 是类中的属性，适用于所有对象

a = A()          #实例化一个对象a
a.name = '阿四'  #定义对象a的name属性
a.age = 18       #定义对象a的age属性
a.test()         #调用实例方法（对象.方法）
print(a.__dict__)#查看对象中的所有属性
a.job = 'IT'     #增加对象属性
print(a.job)


#实例属性与类属性的区别以及使用
'''
类属性：属于类，实例属性属于对象
'''
class B:
    num = 0                #类属性
    def __init__(self,name):
        self.name = name   #实例属性，在__init__内部定义
    def test(self):
        print(f'我的名字是{self.name}')
#实例对象
b = B('zs')
print(b.name)   #zs 对象可以访问实例属性
#print(B.name)   #报错，类不能访问实例属性
print(b.num)    #0 对象可以访问类属性
print(B.num)    #0 类也可以访问类属性
b.test()


